package com.smh.a02IOStreamDemo2;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class CharSetDemo4 {
    public static void main(String[] args) throws FileNotFoundException {

        FileReader fr = new FileReader("day26-code\\file\\a.txt");
        //字符流的底层也是字节流，默认也是一个字节一个字节的读取的。
        // 如果遇到中文就会一次读取多个，GBK一次读两个字节，UTF-8一次读三个字节
        //read()细节:
        //1.read():默认也是一个字节一个字节的读取的,如果遇到中文就会一次读取多个
        //2.在读取之后，方法的底层还会进行解码并转成十进制。
        //最终把这个十进制作为返回值
        //这个十进制的数据也表示在字符集上的数字
        //英文:文件里面二进制数据01100001
        //read方法进行读取，解码并转成十进制97
        //中文:文件里面的二进制数据 11100110 10110001 10001001
        //read方法进行读取，解码并转成十进制277

        //字符流读取,自动解码.
        int read;
        try (fr) {
            while ((read = fr.read()) > 0) {
                System.out.print((char) read);
            }
        } catch (IOException e) {
            throw new RuntimeException(e);
        }


    }
}
